Событие - постройка завершена
Действие: Если тип юнита (построенное здание) = стена,
то установить переменую-точку = позиция (построенного здания),
удалить (построенное здание)
создать декорацию типа "Стена-декорация" в точке-переменной
удалить точку
Пишу с работы, редактора под рукой нет. Прошу за ошибки и неточности простить))
Ошибкой было перемещать ресурсы при 1 уровнем проекта без менеджера проектов, который за это отвечает
Теперь придётся все снова заливать
Задача для 1 уровень проекта - только составить главную, потом нужно ждать дальнейшие задания уже от менеджера проекта, который выдаст 2 уровень и разрешит переместить ресурсы
DarkRaven Best, в картах есть 2 файла с кодом
j и wct
wct содержит тот код который отображается в редакторе
j файл содержит окончательный код который и работает в игре(с переменными, генерируемыми функциями и результатом гуи)
проги для взлома карт тупо перемещает код из j файла в wct (в том числе и генерируемые функции наподобие main)
при попытке сохранения карты код из wct перемещается в j и генерируются системные функции (например main)
но т.к. генерируемые функции уже перенеслись в j из wct получается повторение функций( например main из wct + сгенерированный main)
если же удалить/переименовать лишние функции в редакторе то функции будут сгенерированны не правильно (например в main будет отсутствовать инициализация библиотек)
для того чтобы всё нормально работало надо открыть карту в mpq редакторе и ручками править wct файл вычищая из него всё лишнее
для этого надо хорошо знать джасс
Вджасс это дополнение к обычному джассу, у себя ты можешь видеть строки объявления библиотеки, продвинутые комментарии и статические константные переменные
В том и дело что ОТВЕТА - НЕТ.Способность я НЕ кастую.Я проверяю - есть ли она у героя, и какого она уровня. Мне нужна ПАССИВНАЯ, способность. В данном случае моя способность блокирует часть урона, в зависимости от уровня, она не является пустышкой. Всё. Теперь я в тригере делаю проверку - что способность у героя есть. И если она есть, то на каждом 20-м ударе по герою, будет добавлятся способность - защита +10, или больше, взависимости от уровня способности, и затем через 30 секунд удалятся.
Я не спрашивал как кастовать скилл, и как с ним работать.
Я спросил другое:
ПОЧЕМУ? Почему способность сама по себе работает(ОНА ПАССИВНАЯ, и она работает), а обращение к ней тригера(ПРОВЕРКА того что, способность у героя есть), даже если сам тригер не активируется(СОБЫТИЕ, ещё ни разу не произошло, или галочка "изначально включен" убрана), ломает игру?
Прочитай внимательно всё что я писал пожалуйста, у меня просто ощущение что ты не всё прочитал, и не всё скрины посмотрел.
В общем и целом. Подвожу итоги:
Проблема оказалась конкретно в способности. Я так посмотрел, она видимо каким-то образом забаговалась.
Она была сделана на основе способности "каменные доспехи", но конкретно у этой способности почему-то изначальная раса была "наги". Т.е. это уже странно, потому что эта способность изначально от "ночных эльфов". Кроме этого, я отличий от стандарта в ней никаких не видел.
Я ее удалил, создал абсолютно такую же способность, и она работает, всё запускается. Скилл(тригерный) я сделал ровно так как и хотел, никакой ошибки в нём нет и не было в помине, о чем я в принципе подозревал с самого начала. Не знаю с чем связать этот баг, поэтому в принципе вопрос закрываю. Ответ на него я нашёл сам: это баг редактора.
Других вариантов я не вижу.
Анихак лаунчер заточен под борьбу с картой лича, поэтому не дает запускать все карты с мемхаком, пока есть возможноть это обойти - моя карта яркий пример, а так инфы подробной в паблик никто не сливал чтобы ракап не сделал апгрейд защиты...
у меня складывается такое ощущение что ваш блокнот не умеет работать с этими символами
попробуйте вместо "Манакост" написать вот это "Манакост" это "Манакост" в UTF8
Символы отсюда xgm.guru/p/100/223668
Вставляю в гугл переводчик, мне выдает какие то непонятные слова и туча исправлений
Если я этот же текст беру и вставляю напрямую в hex редакторе и потом открываю txt в блокноте, то уже текст из блокнота нормально переводится в переводчике
Хм... лет десять назад я мог понять желание сделать карту 480х480 с кучей систем и геймплеем полностью отличающимся от варовского. Тогда не было инструментов, чтобы создавать игру своей мечты, а редактор варика давал некоторую простоту воплощения своих замыслов и некоторое же удобство. Небольшие, на самом деле, но простота и удобство были. Просто другие варианты были ещё хуже в плане простоты и удобства. И ещё интернет у большинства не позволял скачивать слишком уж много. А сейчас? Всем, у кого есть хоть малейшее желание создавать игры предлагают десятки простых и удобных инструментов, часто ещё и бесплатно, обучение, развитые сообщества, в которых можно найти единомышленников, огромное количество ресурсов под лицензией Creative Commons или просто бесплатных для некоммерческого использования на любой вкус (а если не борзеть и пиратить или плагиатить аккуратно - то это количество увеличивается многократно), простоту распространения своего творчества, возможности монетизации и трудоустройства в сфере геймдева - в общем всё, о чём те самые десять лет назад можно было только мечтать. Зачем продолжать мучать варкрафт и себя? Не осуждаю, просто не понимаю.
Согласен, информационный век на дворе, все сделано за нас, учиться надо, но и упрощать работу надо уметь, компьютеры для этого и были изобретены.
Я знаю что это координаты умник.. пустые придирки не прокатят
я не только про координаты, я про всё
короче судя по всему ты пытаешься написать прогу которая бы думала вместо тебя
и это очень пичально
поэтому я просто оставлю это здесь
quq_CCCP, тогда ну нафиг
это полноценный реверс инженеринг уже будет Asaaaaaar, короче это потребует кучу времени и никто тут этим заниматься скорее всего не будет
думаю даже за платно сложно будет найти того кто согласится убить кучу времени на это
Сделай способности добычи у работников много уровней, и при определённых условиях(здание построено, здание умирает) меняй уровень этой способности у всех рабочих на карте(ну, при создании каждого рабочего, смотри на коилчество таких зданий на карте через отряд, и устанавливай уровень способности у рабочего)
Каждый вопрос заслуживает отдельного обсуждения, а на все стало лень ответ печатать, когда начал.
Печатать реально долго, легче было реализовать примеры в карте:
Кроме последнего пункта, его нужно персонально рассматривать, так как игра не подразумевает использование для юнита двух списков. Например, можно наполнить список построек у юнита всеми зданиями, часть из которых блокировать при открытии одного списка и разблокировать при открытии второго, но это подходит, когда один рабочий. Можно сделать второй список из книги заклинаний, куда добавлены способности на основе игрушечных строений, чтобы было видно карту пути и всё такое, но там для них используется один приказ, то есть всегда одинаковое здание будет при нажатии на любую способность, а ещё нет стоимости золота и дерева, что тоже придётся как-то ваять триггерно. Можно перевоплощать юнита при смене списка в другого, но там тоже сложности, не помню точно какие, вроде бы связаны с расой, так как все строят по-разному.
С точкой сбора всё просто. Способность у игрока не заблокировать, потому нужно забрать её у всех зданий, которые есть на карте, либо будут построены.
Группа из максимум 9 юнитов работает немножко коряво, ранее мы с PT153 находили какой-то вариант, чтобы работало быстро, но лень пользоваться поиском. Вроде каждую 0.01 секунду проверялось количество выбранных юнитов, лишние удалялись из выбора.
Чтобы не было очереди, пришёл в голову лишь вариант с апгрейдом здания. Но у меня реализован просто пример для одного конкретного здания, а для нескольких абстрактных зданий нужно делать текстовым триггером, который будет для каждого здания запускать локальный таймер на нужное время и добавлять анимационный текстаг work. По отмене апгрейда, либо истечению таймера анимационный тег удаляется и создаётся воин, к которому привязывается соответствующий звук. Но есть и другие варианты, типа создавать внутри здания другое, которое реально будет производить юнитов, когда заказал апгрейд, там иная реализация. И не упомянул про затрачиваемые ресурсы. Потребуется забирать/возвращать часть ресурсов при отмене апгрейда.
На примере триггеров и фиолетовых строк в редакторе объектов смотри, как сделано улучшение Бугая в Дренорского бугая.
Конечно, мог бы сделать MUI триггер на GUI для отсутствия очереди, но это было бы громоздко и в техническом смысле уродливо. производящие здания заносились бы в массив, для которого будет массив таймеров, которые будут заноситься в виде событий на истечение таймера в другой триггер, а точнее будет несколько массивов таймеров, по максимальному числу тренируемых юнитов в любом производящем здании.
Вместо (юнит триггера) вставишь своего героя. (Скрин внизу)
Редактор обьектов ---> Способности ---> нейтрально-враждебные ---> герои ---> повышение характеристик (редактируешь или создаешь нестандартную и редактируешь под себя)
Если цель именно в стоянии, то самый надёжный способ через сравнение координат с некоторой погрешностью. Также можно через отслеживание приказов, реализацию смотреть тут.
Наглядный пример того, что бег в результате агра не отдаёт никакого приказа.
Единственное, что приходит в голову - это дамми-юнит размером чуть больше экрана, с моделью в виде белого прямоугольника, параллельного земле. Триггерно можно сделать его невыбираемым, перемещать в точку, куда направлена камера игрока (если центр модели не видно, то всю модель не видно) и задавать цвет с прозрачностью. А зачем в роликах такая информация?
открою тебе секрет
ни у кого нету юнитов на карте
все юниты создаются триггерно
короче почитал я то что ты пишешь и понял что ты вообще не умеешь работать с редактором
поэтому вот тебе статьи
прочти хотя бы 100 из них
т.к. ответы уже дали вопрос закрываю Maniac_91:
Цикл. От 1 до количества юнитов в группе:
Выбрать случайного юнита из группы
Создать даммика (с ограниченным временем жизни или отрицательной регенерацией)
Приказать последнему созданному юниту (Last created unit) применить заклинание на выбранного юнита (Picked unit)
Удалить выбранного юнита (Picked unit) из группы.
а нафига если можно сделать цикл по группе (выбрать каждого юнита в группе и делать...)
Еще изменение правил оффтопа тоже в процессе, вечером хотел уже запостить новые правила сайта, но вам повезло устроить этот срач именно сейчас. Последний раз прошу закончить его
ссылка
не прерывается приказ почти у любой абилы без цели. В большинстве случаев, останавливаются, чтоб заюзать скилл. А потом продолжают делать те действия, которые оборвал. Типа Рев. Есть длительные касты, например: заговор неуязвимости, он остановится, попрыгает (channeling-анимация), и потом дальше будет идти. Или заклинание крови дракончика. А вот тех, из-за чего еще и не останавливается на ходу, совсем мало
То есть если я поставлю в очередь приказы постройки, а в середине использую эти способности, то очередь прервётся?
И ещё вопрос, как написать свою абилку с нуля? Ссылок на статьи будет вполне достаточно заранее спасибо:)
на ютубе полно видео, в основном попадаются не шарящие челы, но по основам без проблем проведут
когда окрепнешь, то перейдёшь на джасс и начнёшь самостоятельно клепать крутые спеллы
можешь так же обращаться в заклинания на заказ, либо ко мне, может научу чему-нибудь, но всё равно желательно иметь базовые знания гуи
На JASS-е есть функция GetLearnedSkill(), которая выдает rawcode выученного умения. Создаешь переменную типа "целочисленная" с названием SkillCode, потом в начале действий триггера пишешь через Custom Script что-то типо этого:
set udg_SkillCode=GetLearnedSkill()
и затем делаешь какие тебе там нужны сравнения на переменную SkillCode.
ИИ написать, сами скиллы юзают тока крипы подконтрольные ИИ - к примеру нейтральновраждебные.
Так же можно юзать скилл - Сфера замедления, это орб эффект который срабатывая накладывает на цель атаки указанный в его настройках скилл, подойдет для карт типа Castle Fight.
ИИ чтоли не кастует? Сделай триггерный каст, Событие - юнит обнаружил цель в пределах досягаемости, проглотить не в кулдауне и цель неуязвимый враг, пойти и проглотить юнита...
Fireproof, попробуй в РО у юнита поменять "Графика - Анимация - обратный ход броска" и "Графика - Анимация - точка броска" на 0. Правда, это уберёт время каста для всех умений у этого юнита.
Ну тебе нужно чтобы был прямо таки бафф который можно рассеивать?
Для начала сделай способность, и баф на основе какой нибудь пустышки, подойдет ярость у некромантов, так же переодический триггер который раз в пол секунды проверяет всех юнитов в группе, есть ли у них бафф если юнит мертв или у него нет баффа, то у юнита удаляется способность на доп урон зданиям и сам унит удаляется из группы.
При касте твоим шаманов заклинания на цель, ты добавляешь цель заклинания в группу, которую и перебирает описанный выше триггер.
Надеюсь понятно?
datar1231, Именно поэтому говорят не делать 2 две способности от друга потому когда юнита приходит приказ на использование способности он использует твою нестандартную способность но основываясь на айди стандартной способности или делай на основе другой или незанаю подействует ли канал.
Все функции прелоада замена на рид/врайт мемхака, и в любом случае проверь права администратора для варкрафта, например JNGP точно запущен с правами админа и всё норм, права на запись есть, а если вар запускаешь с обычными, то у него не будет прав для записи, файл прелоада не создасться как и writestring и дальше всё поедет... MKDimon, Запусти от админа, отпишись
call SaveInteger(Hash,GetHandleId(GetTriggerUnit()),5555, CurrentNumberOfSettlement) в одном триггере сохраняем
set CurrentNumberOfSettlement = LoadInteger(Hash,GetHandleId(GetTriggerUnit()),5555) в другом триггере для проверки выгружаем
рабочий вариант
local integer id = GetHandleId(GetTriggerUnit())
call SaveInteger(Hash,id,5555, CurrentNumberOfSettlement) в одном триггере сохраняем
set CurrentNumberOfSettlement = LoadInteger(Hash,id,5555) в другом триггере для проверки выгружаем
Короче вернул обратно локалки, и все заработало. И почему первый вариант не работал. Ладно будут искать подводные камни. Наверное после чистой оптимизации что-то перестало работать. эх... придеться посравнивать. похоже старый код где то мб лучше. только времени потратил на методы тыка.
События на воскрешения юнита нет. Можно попробовать при касте воскрешения проверить всех мертвых юнитов вокруг кастера годных для воскрешения, а спустя 0.00 секунд проверить кто в группе мертвых ожил, хз. Тут только костылями выкручиваться либо делать свою систему воскрешения/воспользоваться южапи, если там есть соответствующая функция
Была прям один в один ситуация. Игра крашица скорее всего от того, что что bounds выходит за пределы карты. Оставляй отступ от краев.
и даже не границы карты, а границы обзора вродебы ломают все
попробуй rect создать на карте, чтобы он был внутри границы обзора. И bounds выставляй по нему.
Событие:
Юнит умирает
Условие:
Количество типов юнитов "Казарма" равно 0 or тип юнита "Казарма" из мертв равно да
Количество типов юнитов "Ферма" равно 0 or тип юнита "Казарма" из мертв равно да
Количество типов юнитов "Олодом" равно 0 or тип юнита "Казарма" из мертв равно да
Событие:
Задание выполнено-показать блаблабла (не важно)
Я с этим согласен, но можно было б
Событие: каждые 0.05сек.
Условия
Кол-во тип юнита "Казармы" В ОБЛАСТИ равно 0
Кол-во тип юнита "Ферма" В ОБЛАСТИ равно 0
Кол-во тип юнита "Олодом" В ОБЛАСТИ равно 0
ОБЛАСТЬ создай и помести в неё все свои домики
Действие:
Твоё что ты там хочешь.....
Только проблема: я не помню есть ли такое условие..*(
The Dude, это несерьезно. Все вопросы описаны в большом количестве статей здесь, на нашем сайте - xgm.guru/p/wc3/articles. То, что перечисляешь не верх мастерства WE, а базовые знания. Материалов предостаточно. Успехов в обучении.
Нашёл систему, где звук передаётся в таймер, который истекает через 0 секунд. В результате один и тот же звук может проигрываться несколько раз без всяких проблем. В инетике пишут мол это такой баг движка.
Вроде бы удалось решить проблему самостоятельно. Ошибка действительно была элементарной - идентификатор не устраивал введённый туда заглавный символ, а я не знал об этом. Простите за беспокойство.
Я не особо разбираюсь в англоязычном варианте триггеров, но у вас вроде стоит "Удалить - последний брошенный предмет", вам нужно "Удалить - Предмет переносимый [герой] типа [название предмета]". Если мой руссификатор не влияет на последовательность пунктов в настройке, то вы использовали третью строчку, а вам нужна девятая. Там вы можете удалить конкретный предмет у конкретного же персонажа.
должен сразу предупредить что делать за тебя никто не будет
теперь по твоим вопросам
чтобы нельзя было кликать скрываешь, даёшь москиты, делаешь видимым
действие проиграть звук и указываешь твою фразу
выбираем всех подходящих(враги,живые) юнитов в радиусе от точки каста и создаём по дамми юниту(юнит без модели, без атаки, с москитами, с нужной способность, время жизни юнита 1 сек) для каждого подходящего юнита приказывая дамми юниту применить нужную способность в подходящего юнита
таким образом каждый дамми юнит применит нужную способность (в твоём случае корни) в 1 подходящего юнита для которого он и был создан а потом исчезнет
Неуязвимость проверяют через даммика с атакой, через приказ, сможет ли атаковать или нет, просто проверка выполнения приказа. Так же пытаются нанести урон и смотрят сколько он отнял здоровья, так можно и определить неуязвимость и вычислить резист юнита к конкретному типу урона.
Меняется - можно поставить свой бафф, что сделан на основе оригинальный. Естественно, нельзя сделать так, чтобы отравленные стрелы станили.
Стан только у баша.
Почему бы не сделать привязку к классу героя: танки не будут получать очки за исцеление, дд-шеры за полученный урон, а лекари за нанесенный урон. Тем самым, стату можно будет набивать исключительно выполняя свою роль.
» WarCraft 3 / ИИ и главное здание
» Администрация XGM / Перенос ресурса в проект.
» WarCraft 3 / Проблема с запуском редактора и Jass
» WarCraft 3 / Проблема с запуском карты
» WarCraft 3 / ItemPool
» WarCraft 3 / Код Jass
» Администрация XGM / Смена ника на сайте
» WarCraft 3 / Как взломать карту Warcraft 3?
» WarCraft 3 / Как сделать лимит улучшений?
» WarCraft 3 / Как сделать проверку?
» WarCraft 3 / ИИ и способности
» WarCraft 3 / Массив в магазине.
» WarCraft 3 / Исправление вылета кампании Reforged
» WarCraft 3 / Ледяное дыхание
» Администрация XGM / Не выдаются варны.
» WarCraft 3 / способность "защитная аура"
» WarCraft 3 / пассивная способность "кража маны" при атаке
» WarCraft 3 / Ломается система динамичной цены найма юнита
» Администрация XGM / Восстановить комментарий
» WarCraft 3 / Возможность поворота всей карты
» Администрация XGM / Ошибка при заходе
» WarCraft 3 / Задания в редакторе отобразить определенным игрокам
» WarCraft 3 / Вопрос по триггерной способности
» WarCraft 3 / Модель
» WarCraft 3 / Система урона в варкрафте.